package com.dz.risk.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dz.risk.common.ResponseVO;
import com.dz.risk.pojo.domain.ListOfDefaultedBonds;
import com.dz.risk.pojo.model.CommonPageResult;
import com.dz.risk.pojo.model.PageModel;

import java.util.Date;
import java.util.List;

/**
 * @author Doke
 * @date 2021/7/7 15:28
 */
public interface ListOfDefaultedBondsService extends IService<ListOfDefaultedBonds> {

    /**
     * 分页查询违约债卷信息
     *
     * @param pageModel 分页模型
     * @param bondName  债卷名称
     * @param bondCode  债卷代码
     * @param beginDate
     * @param endDate
     * @return 违约债卷信息集合
     */
    CommonPageResult pageList(PageModel pageModel, String bondName, String bondCode, Long beginDate, Long endDate);

    /**
     * 新增违约债券名单
     *
     * @param listOfDefaultedBonds 债卷违约名单实体
     * @return 新增结果
     */
    ResponseVO add(ListOfDefaultedBonds listOfDefaultedBonds);

    /**
     * 根据债卷查重规则查询是否已有规则内重复数据
     *
     * @param listOfDefaultedBonds 违约债卷名单信息实体
     * @return 违约债卷名单集合
     */
    List<ListOfDefaultedBonds> selectDuplicateByBondCodeOrBeginDateOrEndDateOrId(ListOfDefaultedBonds listOfDefaultedBonds);

    /**
     * 更新违约债券名单信息
     *
     * @param listOfDefaultedBonds 违约债券名单实体
     * @return 更新结果
     */
    ResponseVO updateByListOfDefaultedBondsId(ListOfDefaultedBonds listOfDefaultedBonds);
}
